Optimising The Design Of Complex Water Networks